package org.tgcloud.group.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import lombok.Data;

/**
* @Author: zhy
* @Created: 2025-09-01-下午2:48
* @Description: ${description}
*/

/**
 * 订单表
 */
@ApiModel(description = "订单表")
@Data
public class MjOrder implements Serializable {
    @ApiModelProperty(value = "")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 订单key，唯一性
     */
    @ApiModelProperty(value = "订单key，唯一性")
    private String orderKey;

    /**
     * 创建用户
     */
    @ApiModelProperty(value = "创建用户")
    private Integer createUserId;

    @ApiModelProperty(value = "")
    private Date createTime;

    /**
     * 订单状态：1、待推送，2、核价中，3、核价等待中，4、一次竞价中，5、二次竞价中，6、待签署电子协议，7、已完成，8、已拒绝，9、已作废，10、已删除，11已流单
     */
    @ApiModelProperty(value = "订单状态：1、待推送，2、核价中，3、核价等待中，4、一次竞价中，5、二次竞价中，6、待签署电子协议，7、已完成，8、已拒绝，9、已作废，10、已删除，11已流单")
    private Short status;

    /**
     * 总价
     */
    @ApiModelProperty(value = "总价")
    private BigDecimal totalPrice;

    /**
     * 总数
     */
    @ApiModelProperty(value = "总数")
    private Integer totalNum;

    /**
     * 品牌，手动输入
     */
    @ApiModelProperty(value = "品牌，手动输入")
    private String brands;

    /**
     * 品类id，多选
     */
    @ApiModelProperty(value = "品类id，多选")
    private String categoryId;

    /**
     * 电子协议url
     */
    @ApiModelProperty(value = "电子协议url")
    private String ticketUrl;

    /**
     * 最终确认的渠道商
     */
    @ApiModelProperty(value = "最终确认的渠道商")
    private Integer lastUserId;

    /**
     * 是否推送给了开拓者，1、待推送，2、已推送
     */
    @ApiModelProperty(value = "是否推送给了开拓者，1、待推送，2、已推送")
    private Short isPush;

    /**
     * 推送的用户id信息
     */
    @ApiModelProperty(value = "推送的用户id信息")
    private String pushUserIds;

    /**
     * 项目id
     */
    @ApiModelProperty(value = "项目id")
    private Integer projectId;

    /**
     * 推送给渠道商的用户---记录分配的渠道
     */
    @ApiModelProperty(value = "推送给渠道商的用户---记录分配的渠道")
    private String pushChannelUserIds;

    /**
     * 转推的渠道开拓者
     */
    @ApiModelProperty(value = "转推的渠道开拓者")
    private String nextPushUserIds;

    /**
     * 是否进行过转推，1、否，2、是
     */
    @ApiModelProperty(value = "是否进行过转推，1、否，2、是")
    private Short isNextPush;

    /**
     * 是否进行过盲盒估价，1、未进行，2、已进行
     */
    @ApiModelProperty(value = "是否进行过盲盒估价，1、未进行，2、已进行")
    private Short isBlindBox;

    /**
     * 盲盒估价价格
     */
    @ApiModelProperty(value = "盲盒估价价格")
    private BigDecimal blindBoxPrice;

    /**
     * 盲盒估价-是否全拿，1、否，2、是
     */
    @ApiModelProperty(value = "盲盒估价-是否全拿，1、否，2、是")
    private Short blindBoxAllTake;

    /**
     * 提交盲盒的人
     */
    @ApiModelProperty(value = "提交盲盒的人")
    private Integer blindUserId;

    /**
     * 一次竞价结束时间
     */
    @ApiModelProperty(value = "一次竞价结束时间")
    private Date biddingOneEndTime;

    /**
     * 竞价推送的渠道用户id
     */
    @ApiModelProperty(value = "竞价推送的渠道用户id")
    private String biddingPushChannelUserIds;

    /**
     * 一次竞价到二次竞价时间段
     */
    @ApiModelProperty(value = "一次竞价到二次竞价时间段")
    private BigDecimal biddingTwoTimeSlot;

    /**
     * 竞价可以推送的开拓者id
     */
    @ApiModelProperty(value = "竞价可以推送的开拓者id")
    private String biddingPushUserIds;

    /**
     * 竞价已推送给渠道的开拓者id
     */
    @ApiModelProperty(value = "竞价已推送给渠道的开拓者id")
    private String biddingHasPushUserIds;

    /**
     * 第一次竞价时，第一名的价格
     */
    @ApiModelProperty(value = "第一次竞价时，第一名的价格")
    private BigDecimal biddingOneFirstPrice;

    /**
     * 第二次竞价最高价
     */
    @ApiModelProperty(value = "第二次竞价最高价")
    private BigDecimal biddingTwoTopPrice;

    /**
     * 路径地址
     */
    @ApiModelProperty(value = "路径地址")
    private String pathUrls;

    /**
     * 核价-备注
     */
    @ApiModelProperty(value = "核价-备注")
    private String checkRemark;

    /**
     * 核价-建议成本
     */
    @ApiModelProperty(value = "核价-建议成本")
    private String checkCostPrice;

    /**
     * 核价-变现价格
     */
    @ApiModelProperty(value = "核价-变现价格")
    private BigDecimal checkCashPrice;

    /**
     * 进行转移的开拓者用户id
     */
    @ApiModelProperty(value = "进行转移的开拓者用户id")
    private String transferUserIds;

    /**
     * 是否开启第二次竞价，1、否，2、是
     */
    @ApiModelProperty(value = "是否开启第二次竞价，1、否，2、是")
    private Short biddingStartTwo;

    /**
     * 第二次竞价发起的用户id
     */
    @ApiModelProperty(value = "第二次竞价发起的用户id")
    private Integer biddingStartTwoCreateUserId;

    /**
     * 第二次竞价同意参与的用户id
     */
    @ApiModelProperty(value = "第二次竞价同意参与的用户id")
    private String biddingStartTwoUserIds;

    /**
     * 预估成本
     */
    @ApiModelProperty(value = "预估成本")
    private BigDecimal estimatedCost;

    /**
     * 实际成本
     */
    @ApiModelProperty(value = "实际成本")
    private BigDecimal actualCost;

    /**
     * 签单时间，确认核价的时间点
     */
    @ApiModelProperty(value = "签单时间，确认核价的时间点")
    private Date checkTime;

    /**
     * 修改时间
     */
    @ApiModelProperty(value = "修改时间")
    private Date updateTime;

    /**
     * 是否进行过重推，1、否，2、重推过
     */
    @ApiModelProperty(value = "是否进行过重推，1、否，2、重推过")
    private Short isBackPush;

    /**
     * 重推前，首次推送的渠道商id
     */
    @ApiModelProperty(value = "重推前，首次推送的渠道商id")
    private String firstPushChannelUserIds;

    /**
     * 转移前，第一次涉及到的渠道商用户id
     */
    @ApiModelProperty(value = "转移前，第一次涉及到的渠道商用户id")
    private String firstNextPushUserIds;

    /**
     * 是否有渠道商提交了核价，1、否，2、是
     */
    @ApiModelProperty(value = "是否有渠道商提交了核价，1、否，2、是")
    private Short isSubmitCheck;

    /**
     * 提交核价的用户id
     */
    @ApiModelProperty(value = "提交核价的用户id")
    private String submitCheckUserIds;

    /**
     * 第一次竞价的已提交的渠道商用户id
     */
    @ApiModelProperty(value = "第一次竞价的已提交的渠道商用户id")
    private String biddingFirstUserIds;

    /**
     * 第二次竞价，已提交的渠道商用户id
     */
    @ApiModelProperty(value = "第二次竞价，已提交的渠道商用户id")
    private String biddingSecondUserIds;

    /**
     * 卖货实收
     */
    @ApiModelProperty(value = "卖货实收")
    private BigDecimal saleRealPrice;

    /**
     * 盲盒实收
     */
    @ApiModelProperty(value = "盲盒实收")
    private BigDecimal blindRealPrice;

    /**
     * 项目实收
     */
    @ApiModelProperty(value = "项目实收")
    private BigDecimal realPrice;

    /**
     * 内部货值
     */
    @ApiModelProperty(value = "内部货值")
    private BigDecimal innerPrice;

    /**
     * 拒绝理由
     */
    @ApiModelProperty(value = "拒绝理由")
    private String refuseReason;

    /**
     * 实收里的备注
     */
    @ApiModelProperty(value = "实收里的备注")
    private String realRemark;

    /**
     * 实际货值
     */
    @ApiModelProperty(value = "实际货值")
    private BigDecimal realTotalPrice;

    /**
     * 1、折扣，2、固定金额
     */
    @ApiModelProperty(value = "1、折扣，2、固定金额")
    private Short isDiscount;

    /**
     * 金额或者折扣
     */
    @ApiModelProperty(value = "金额或者折扣")
    private BigDecimal discountPrice;

    /**
     * 参考价格
     */
    @ApiModelProperty(value = "参考价格")
    private BigDecimal referencePrice;

    /**
     * 已拒绝核价/竞价的渠道
     */
    @ApiModelProperty(value = "已拒绝核价/竞价的渠道")
    private String channelRefuseIds;

    /**
     * 资源要求
     */
    @ApiModelProperty(value = "资源要求")
    private String resourcesRemark;

    /**
     * 表单类型：1，核价，2，本地生活，3，酒店民宿
     */
    @ApiModelProperty(value = "表单类型：1，核价，2，本地生活，3，酒店民宿")
    private Integer fileType;

    /**
     * 订单是否重置，1，没有重置，2，已重置
     */
    @ApiModelProperty(value = "订单是否重置，1，没有重置，2，已重置")
    private Short isReset;

    /**
     * 商务说明超时原因
     */
    @ApiModelProperty(value = "商务说明超时原因")
    private String businessExplain;

    /**
     * 订单是否超时1,未超时，2，已超时
     */
    @ApiModelProperty(value = "订单是否超时1,未超时，2，已超时")
    private Short isTimeOut;

    /**
     * 处理意见
     */
    @ApiModelProperty(value = "处理意见")
    private String handleComments;

    /**
     * 是否有子表单，1，没有，2，有
     */
    @ApiModelProperty(value = "是否有子表单，1，没有，2，有")
    private Short isHasChild;

    /**
     * 父表单的id
     */
    @ApiModelProperty(value = "父表单的id")
    private Integer parentId;

    /**
     * 订单去向
     */
    @ApiModelProperty(value = "订单去向")
    private Integer orderGo;

    /**
     * 预计变现
     */
    @ApiModelProperty(value = "预计变现")
    private BigDecimal expectPrice;

    /**
     * 订单进入已结束状态的时间
     */
    @ApiModelProperty(value = "订单进入已结束状态的时间")
    private Date endTime;

    /**
     * 开拓者确认反馈时间
     */
    @ApiModelProperty(value = "开拓者确认反馈时间")
    private Date pushSureCheckTime;

    /**
     * 开拓者确认反馈状态，1、未确认，2、已确认
     */
    @ApiModelProperty(value = "开拓者确认反馈状态，1、未确认，2、已确认")
    private Short pushSureCheckType;

    /**
     * 执行推送开拓者的时间
     */
    @ApiModelProperty(value = "执行推送开拓者的时间")
    private Date pushTime;

    /**
     * 开拓者处理执行推送所使用的时长，单位秒
     */
    @ApiModelProperty(value = "开拓者处理执行推送所使用的时长，单位秒")
    private Long pushUserHandleDiffTime;

    /**
     * 备注map，格式{"备注的key":{userid:"", remark: ""}}
     */
    @ApiModelProperty(value = "备注map，格式{'备注的key':{userid:'', remark: ''}}")
    private String remarkMap;

    /**
     * 预估-自营媒体成本
     */
    @ApiModelProperty(value = "预估-自营媒体成本")
    private BigDecimal estimatedSelfMediaCost;

    /**
     * 预估-外采媒体成本
     */
    @ApiModelProperty(value = "预估-外采媒体成本")
    private BigDecimal estimatedExternalMediaCost;

    /**
     * 实际-自营媒体成本
     */
    @ApiModelProperty(value = "实际-自营媒体成本")
    private BigDecimal actualSelfMediaCost;

    /**
     * 实际-外采媒体成本
     */
    @ApiModelProperty(value = "实际-外采媒体成本")
    private BigDecimal actualExternalMediaCost;

    /**
     * 修改实际成交价时间
     */
    @ApiModelProperty(value = "修改实际成交价时间")
    private Date updateRealPriceTime;

    @ApiModelProperty(value = "阶段id")
    private String stageId;


    private static final long serialVersionUID = 1L;
}